1. Field of the Invention
The present invention relates to a method of writing servo data in a hard disc drive (HDD), and, more particularly, to a method of forming servo data that enables a reduction of capacity of a buffer memory used to buffer the servo data, and a self-servo write method using the same.
2. Description of the Related Art
A hard disc drive (HDD) is a magnetic information storage device. Information is written on concentric tracks formed on the surface of one or more discs included in the HDD. The discs are assembled so that they can be rotated by a spindle motor, and the information is accessed by a head assembled on an actuator arm rotated by a voice coil motor (VCM). The VCM rotates the actuator arm in response to being activated by a current, and therefore moves the head. The head must be accurately positioned on the track of the disc to ensure proper writing and reading of the information during operation of the HDD.
Typically, a head position control is performed by a servo control circuit, which detects and controls the positions of the head using servo data written on the disc.
For the head to correctly follow the track, the servo data should be written on the tracks. A servo track write (STW) is a process of writing the servo data on the discs magnetically.
FIG. 1 is a schematic plan view illustrating a head disc assembly (HDA) 10 of an HDD.
Referring to FIG. 1, the HDA 10 includes at least one disc 12 rotated by a spindle motor 14. The HDA 10 also includes a head 16 located adjacent to the disc surface.
The head 16 can read information from the rotating disc 12 by sensing a magnetic field formed on the disc 12, or write information to the disc 12 by magnetizing the disc 12. Typically, the head 16 is limited to one disc surface. Though a single head 16 is described in the discussion of FIG. 1, the head 16 includes a write head 16, which magnetizes the disc 12, and a read head 16, which senses a magnetic field of the disc 12. The read head 16 is composed of a magneto-resistive (MR) component.
The head 16 can be integrated into a slider (not shown) which is combined with a suspension 20. The suspension 20 generates an air bearing between the head 16 and the surface of the disc 12. The suspension 20 is combined with a head stack assembly (HSA) 22. The HSA 22 is attached to an actuator arm 24 having a voice coil 26. The voice coil 26 is located adjacent to a magnetic assembly 28 specifying a voice coil motor (VCM) 30. A current supplied to the voice coil 26 generates a torque which rotates the actuator arm 24 around a bearing assembly 32. The rotation of the actuator arm 24 moves the head 16 across the disc surface.
Information is stored in concentric tracks of the disc 12. In general, each track 34 includes a plurality of sectors. Each sector includes a servo field and a data field.
FIG. 2 is a block diagram illustrating an electrical circuit used to control the HDD shown in FIG. 1.
Referring to FIG. 2, the electrical circuit includes a pre-amplifier 210, a write/read channel 220, a buffer 230, a controller 240, a memory 250, a host interface 260, and a VCM driver 270. A circuit including the pre-amplifier 210 and the write/read channel 220 is called a write/read circuit.
In the memory 250, firmware used to control the HDD, specification information regarding a servo address/index signal of a reference servo pattern, and specification information regarding a servo address/index signal of final servo data are stored. Here, the memory 250 is a flash memory, which is a non-volatile memory.
In a data read mode, the HDD amplifies an electrical signal sensed from the disc 12 by the head 16 using the pre-amplifier 210 for convenience of signal processing. The HDD encodes the amplified analog signal into a digital signal that can be read by a host device (not shown) using the write/read channel 220, converts the digital signal to stream data, temporarily stores the stream data in the buffer 230, and transmits the stream data to the host device via the host interface 260.
In a data write mode, the HDD receives data from the host device via the host interface 260, temporarily stores the received data in the buffer 230, sequentially outputs the data stored in the buffer 230, converts the sequentially output data to a binary data stream suitable for a write channel using the write/read channel 220, and applies a write current amplified by the pre-amplifier 210 to the disc 12 using the head 16.
The controller 240 analyzes a command received from the host device through the host interface 260, and performs a corresponding control.
A self-servo write is performed in a pattern of a self-test, which is executed when the HDD is booted, rather than by a command from a host device. When the self-servo write is performed, the controller 240 writes final servo data (54 of FIGS. 4A and 4B, which will be discussed later) on a reference disc and blank discs while following tracks by referring to reference servo data (52 of FIGS. 4A and 4B) written on the reference disc.
In detail, the controller 240 controls the HDD to reproduce the reference servo data 52 sequentially while following the tracks of the reference disc by controlling the VCM 30, store the reproduced reference servo data 52 in the buffer 230, generate the final servo data 54 by referring to the reference servo data 52 stored in the buffer 230, and simultaneously write the generated final servo data 54 on the reference disc and the blank discs of the HDA 10.
FIG. 3 illustrates a state in which multiple discs are provided in the HDA 10.
In the operation of a self-servo write method, the HDA 10 includes a reference disc and at least one blank disc. For convenience of description, two blank discs are shown in FIG. 3.
FIGS. 4A and 4B illustrate the self-servo write method. The reference servo data 52 is referred to in order to write the final servo data 54. FIG. 4A shows an example in which the reference servo data 52 is written radially on a disc. The number of radial lines is properly selected according to the disc.
The final servo data 54 is written by referring to the reference servo data 52.
Referring to FIG. 4B, the reference servo data 52 is written on one (reference disc) of the discs of an HDA, and, moreover, on only one surface of the reference disc. The final servo data 54 is written on the other discs, and the other surface of the reference disc, by referring to the reference servo data 52 written on the one side of the reference disc. The reference disc can be written in advance before the discs are assembled into the HDA, i.e., written offline, or written after the discs are assembled into the HDA, i.e., written online.
When the final servo data 54 is written as a result of a write operation, the reference servo data 52 is located at data fields of the sectors of the reference disc. A process of writing the final servo data 54 by referring to the reference servo data 52 is called a servo copy process.
Typically, servo data is written through a partial response maximum likelihood (PRML) coding process used to raise symmetricity and discrimination, and a multiplying process used to raise timing resolution.
Table 1 shows an example in which 2-bit gray code is 2/8 coded.
TABLE 1Gray codeCode symbol101111 0000000011 1100111100 0011010000 1111
The 2/8 coding converts analog binary data to a format suitable for PR4 PRML detection. Generally, PRML decoding has better performance than analog peak detection. Accordingly, the servo data can be read exactly. A technique related to servo data coding suitable for the PRML detection is disclosed in U.S. Pat. Publication No. 2003-0011918 (published Jan. 16, 2003).
The accuracy of the servo data should also be maintained in terms of timing. In other words, even if the contents of the servo data are accurate, the timing must also be correct. Thus, to easily detect more correct timing of the servo data, PRML coded servo data is written by multiplying the servo data in bit units.
Table 2 shows that the 2/8-coded 2-bit gray code is multiplied by repeating each bit of the 2/8 coded data.
TABLE 2Gray codeGray code ( 2/8)Gray code (2-multiplying)101111 000011111111 00000000000011 110000001111 11110000111100 001111110000 00001111010000 111100000000 11111111
2-multiplying means that each bit of the 2/8-coded gray code is repeated, so that each bit is represented twice.
By applying the 2/8-coding and 2-multiplying, the 2-bit gray code is converted to 16-bit gray code.
This operation means that a memory having eight times the capacity of the servo data is needed to write the servo data.
In the self-servo write method, the write/read channel 220 of the HDD generates the final servo data 54 from the reference servo data 52 read from the reference disc, stores the generated final servo data 54 in an internal buffer memory, and writes the final servo data 54 stored in the buffer memory to servo fields of the disc 12.
For example, when the length of a servo pattern is 160 bits, the buffer memory must have a capacity of approximately 160 bytes. Considering that most integrated circuits have buffer memories of 128 bytes, which are a multiple of an 8-bit unit, the write/read channel 220 needs two 128-byte buffer memories. This imposes a burden on manufacturing cost, and reduces memory utilization.